package com.example.http.code3xx.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.http.CacheControl;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import java.util.concurrent.TimeUnit;

/**
 * 配置静态资源访问
 *
 * @author zhouxl
 * @DATE 2021/1/21
 * @descriptoin
 */
public class Code3xxConfig {

    @Configuration
    public class MyWebMvcConfigurer implements WebMvcConfigurer {
        /*
         * 精确设定缓存资源。使用配置文件可以粗略设置缓存时间。
         * 指定png、jpg、jpeg、gif结尾的文件，缓存时间为24小时。
         */
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            registry
                    .addResourceHandler("/**/*.png", "/**/*.jpg", "/**/*.jpeg", "/**/*.gif", "/*.jpg", "/*.js")
                    .addResourceLocations("classpath:/static/")
                    .setCacheControl(CacheControl.maxAge(24, TimeUnit.HOURS).cachePublic());
        }
    }

}
